﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using Entidades.Sistema.Base;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;

namespace Entidades.Sistema.Venta
{
    public class DetallePedido
    {
        private int _cantidad;
        private StatesDetalle _estado = StatesDetalle.Diagramado;
        private Producto _producto;
        private int _idDetallePedido;

        public DetallePedido()
        {
            Producto = new Producto();
        }

        public int IdDetallePedido
        {
            get { return _idDetallePedido; }
            set { _idDetallePedido = value; }
        }
        public int Cantidad
        {
            get { return _cantidad; }
            set { _cantidad = value; }
        }
        public StatesDetalle Estado
        {
            get { return _estado; }
            set { _estado = value; }
        }
        [Required(ErrorMessage = "Producto Es Requerido")]
        public Producto Producto
        {
            get { return _producto; }
            set { _producto = value; }
        }
        public decimal TotalRenglon
        {
            get { return _cantidad * Producto.PrecioConIva; }
        }        
    }

    public enum StatesDetalle
    {
        Diagramado,
        EstadoPedidoDetalle,
        PendienteDiagramacion,
        Entregado,
        PendienteEntrega,
        Producido
    }
}
